Combining Dynamic and Static Scheduling on Distributed-Memory Multiprocessors

نویسندگان

  • O. Plata
  • F. F. Rivera
  • Oscar Plata
  • Francisco F. Rivera
چکیده

Loops are a large source of parallelism for many numerical applications. An important issue in the parallel execution of loops is how to schedule them so that the work-load is well balanced among the processors. Most existing loop scheduling algorithms were designed for shared-memory multiprocessors, with uniform memory access costs. These approaches are not suitable for distributed-memory multipro-cessors where data locality is a major concern and communication costs are high. This paper presents a new scheduling algorithm in which data locality is taken into account. Our approach combines both worlds, static and dynamic scheduling , in a two-level (overlapped) fashion. This way data locality is considered and communication costs are limited. The performance of the new algorithm is evaluated on a CM-5 message-passing distributed-memory multiprocessor. 1 Introduction Loops exhibit most of the parallelism present in numerical programs. Therefore, distributing the workload of a loop evenly among the processors is a critical factor in the ef-cient execution of this kind of parallel programs. A loop scheduling strategy assigns iterations to the processors of the machine in such a way that all of them nish their work-load at more or less the same time. A simple strategy is static scheduling, which determines the assignment of iterations to processors at compile-time. But in many situations, the workload of the iterations is unpredictable at compile-time. Dynamic scheduling strategies have been developed to handle such situations, solving the assignment problem at run-time. When considering cross-iteration data dependencies we can classify the loops into three major types, doserial, doall and doacross Pol88]. In this paper we are primarily concerned with doall or parallel loops, in which there is no data dependence between any pair of their iterations. Otherwise,

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Locality-Preserving Dynamic Load Balancing for Data-Parallel Applications on Distributed-Memory Multiprocessors

Load balancing and data locality are the two most important factors affecting the performance of parallel programs running on distributed-memory multiprocessors. A good balancing scheme should evenly distribute the workload among the available processors, and locate the tasks close to their data to reduce communication and idle time. In this paper, we study the load balancing problem of data-pa...

متن کامل

Dynamic Scheduling on Distributed-Memory Multiprocessors

The problem of scheduling a set of applications on a multiprocessor system has been investigated in a number of diierent points of view. This paper describes our work on the scheduling problem at the user level, where we have to distribute evenly the parallel tasks that compose a program among a set of processors. We investigated dynamic scheduling heuristics applied to loops on distributed-mem...

متن کامل

Extending OpenMP to Support Slipstream Execution Mode

OpenMP has emerged as a widely accepted standard for writing shared memory programs. Hardware-specific extensions such as data placement are usually needed to improve the scalability of applications based on this standard. This paper investigates the implementation of an OpenMP compiler that supports slipstream execution mode, a new optimization mechanism for CMP-based distributed shared memory...

متن کامل

Scheduling User-Level Threads on Distributed Shared-Memory Multiprocessors

In this paper we present Dynamic Bisectioning or DBS, a simple but powerful comprehensive scheduling policy for user-level threads, which unifies the exploitation of (multidimensional) loop and nested functional (or task) parallelism. Unlike other schemes that have been proposed and used thus far, DBS is not constrained to scheduling DAGs or singly nested parallel loops. Rather, our policy enco...

متن کامل

A More Practical Loop Scheduling Scheme for Home-based Software DSMs

Loop scheduling is a critical issue for achieving good performance in parallel and distributed systems. However, this issue is neglected in the area of software DSM systems in the past. All the previous research is based on dedicated homogeneous hardware environment, such as shared memory multiprocessors, and hardware distributed shared memory systems. The main contribution of this paper is two...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 1994